Skip to content

Conversation

mbovel
Copy link
Member

@mbovel mbovel commented Sep 13, 2024

This PR is a prototype implementation of refinement types for Scala, enabling types to be refined with logical predicates that are statically checked by the compiler. A qualified type refines a base type T with a predicate p(x), written as {x: T with p(x)}. It denotes the subset of values x: T for which p(x) holds. For example {x: Int with x > 0} is the type of positive integers and {x: List[Int] with x.nonEmpty} the type of non-empty integer lists.

Read more, from the Scala Workshop 2025:

@mbovel mbovel force-pushed the qualifiers-ci branch 2 times, most recently from c3f9656 to fd487cd Compare October 17, 2024 18:25
@mbovel mbovel closed this Feb 19, 2025
@mbovel mbovel reopened this Jun 4, 2025
@mbovel mbovel force-pushed the qualifiers-ci branch 2 times, most recently from fa6bfcc to 621551c Compare June 4, 2025 14:33
@mbovel mbovel force-pushed the qualifiers-ci branch 3 times, most recently from 89736c6 to 1ff0ca3 Compare June 12, 2025 13:38
@mbovel mbovel force-pushed the qualifiers-ci branch 2 times, most recently from 5f2c63a to 3b8abcb Compare September 1, 2025 09:50
@mbovel mbovel force-pushed the qualifiers-ci branch 2 times, most recently from f95b244 to 35b32df Compare September 2, 2025 14:55
@mbovel mbovel closed this Sep 2, 2025
@mbovel mbovel reopened this Sep 2, 2025
@mbovel mbovel force-pushed the qualifiers-ci branch 3 times, most recently from b5e32b8 to b3e4cf2 Compare September 4, 2025 13:27
@mbovel mbovel force-pushed the qualifiers-ci branch 5 times, most recently from e3b2229 to 77fd08b Compare October 1, 2025 09:23
Co-Authored-By: Quentin Bernet <28290641+Sporarum@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants